package com.cn.wanxi.service;

import com.cn.wanxi.dao.CompanyDao;
import com.cn.wanxi.model.CompanyModel;

/**
 * 命名：CompanyModel
 * 所有的类名 都是自己+包名
 * 写逻辑代码的地方  逻辑层
 * 封装数据的地方--通过方法封装
 */
public class CompanyService {
    /**
     * 方法的组成部分?
     * <p>
     * public 权限修饰符   访问修饰符
     * static 特征修饰符 非访问修饰符
     * void 返回值类型
     * main 方法名
     * String 参数类型
     * args 参数名称
     * throws 抛出异常
     * Exception 异常名称
     * return "" 返回值
     */
    /**
     * Java中，可以使用访问控制符来保护对类、变量、方法和构造方法的访问。
     * Java 支持 4 种不同的访问权限。
     * <p>
     * default (即默认，什么也不写）: 在同一包内可见，不使用任何修饰符。使用对象：类、接口、变量、方法。
     * <p>
     * private : 在同一类内可见。使用对象：变量、方法。 注意：不能修饰类（外部类）
     * <p>
     * public : 对所有类可见。使用对象：类、接口、变量、方法
     * <p>
     * protected : 对同一包内的类和所有子类可见。使用对象：变量、方法。 注意：不能修饰类（外部类）。
     * <p>
     * 接口：接口和类的关系？
     * 接口其实是一个类的另一种表现形式
     * 类可以分为哪些类？
     * 接口，注解，枚举，抽象
     * 抽象类？将具体对象抽象出一个公共的类
     * -----------------------
     * 修饰符的目的？保护范围限制
     * 1.以后所有的属性或者方法首先将修饰符命名为private
     * 2.如果不需要其他类跳出包范围（只能在当前包访问）默认不写
     * 3.如果想要子类访问父类的属性或者方法用protected
     * 4.如果想要所有人都可以访问用public
     * ------------------------------------
     * 非访问修饰符
     * 为了实现一些其他的功能，Java 也提供了许多非访问修饰符。
     * <p>
     * static 修饰符，用来修饰类方法和类变量。
     * <p>
     * final 修饰符，用来修饰类、方法和变量，final 修饰的类不能够被继承，修饰的方法不能被继承类重新定义，修饰的变量为常量，是不可修改的。
     * <p>
     * abstract 修饰符，用来创建抽象类和抽象方法。
     * <p>
     * synchronized 和 volatile 修饰符，主要用于线程的编程。
     * <p>
     * static：在什么情况下使用？
     * 作为工具类的方法使用  为了避免每次调用方法都需要进行实例化操作
     */


    public CompanyModel getCompanyModel() {
        CompanyDao companyDao = new CompanyDao();
        CompanyModel companyModel = new CompanyModel();
        companyModel.setLogo(companyDao.logo);
        companyModel.setPhone(CompanyDao.phone);
        companyModel.setNet(CompanyDao.net);
        companyModel.setEmail(CompanyDao.email);
        companyModel.setAddress(CompanyDao.address);
        companyModel.setVersion(CompanyDao.version);
        companyModel.setLinePhone(CompanyDao.linePhone);
        return companyModel;
    }
}
